/**
 * Copyright(C)版权所有 中国电子科技集团公司第三十二研究所
 * @Title: 数据库接口文件
 * @author: 徐文远
 * @version: 1.0
 * @date: 2020/10/16
 * 备注:无
 */
package com.cetc32.dh.mybatis;

import com.cetc32.dh.entity.DataSubmit;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface DataSubmitMapper {
    /**
     * 插入一个提交记录
     * @param dataSubmit 插入的数据集合
     * @return 反馈是否插入成功
     * */
    Integer insertOne(DataSubmit dataSubmit);

    /**
     * 根据ID 更新提交的信息
     * @param dataSubmit 更新的数据集合
     * @return 反馈是否更新成功
     * */
    Integer updateById(DataSubmit dataSubmit);

    /**
     * 根据ID 更新提交的信息
     * @param dataSubmit 更新的数据集合，通常dataSubmit一次查询只包含submitor或者approver中的一个。
     * @return 反馈查询到的数据
     * */
    List<DataSubmit> selectMine(DataSubmit dataSubmit);

    /**
     * 根据当前用户统计所有任务个数
     * @param dataSubmit 通常dataSubmit一次查询只包含submitor或者approver中的一个。
     * @return 反馈查询到的数据个数
     * */
    Integer countMine(DataSubmit dataSubmit);

    /**
     * 根据当前用户统计所有任务个数
     * @param dataSubmit 通常dataSubmit一次查询只包含submitor或者approver中的一个。
     * @return 反馈查询到的数据个数
     * */
    Integer countByStatusAndUser(DataSubmit dataSubmit);

    /**
     * 根据当前用户统计所有任务个数
     * @param ds 通常dataSubmit一次查询只包含submitor或者approver中的一个。
     * @return 反馈查询到的数据记录
     * */
    List<DataSubmit> selectByStatusAndUser(DataSubmit ds);

    DataSubmit queryById(Integer id);
}
